An instruction set, or instruction set architecture (ISA), is part of the computer architecture related to programming of the computer. The programming may relate to different aspects of the computer, including the native data types associated with instructions, register architecture, addressing modes, memory architecture, interrupt and exception handling, and external input and output (I/O). It should be noted that the term instruction generally refers herein to macro-instructions implemented in logic circuitry in the form of dedicated execution units of the processor.